package org.itstack.state;

/**
 * 状态接口
 * 定义状态的基本行为规范
 * 
 * 设计原则：
 * - 接口隔离原则：只定义状态相关的必要方法
 * - 开闭原则：通过接口扩展新的状态类型
 */
public interface State {
    
    /**
     * 获取状态名称
     * @return 状态名称
     */
    String getStateName();
    
    /**
     * 处理状态转换逻辑
     * @param context 上下文对象
     * @param action 触发的动作
     */
    void handle(Context context, String action);
}
